iT邦幫忙

2024 iThome 鐵人賽

DAY 6
0
Python

python零之旅系列 第 6

DAY6. Python中的各式迴圈應用

  • 分享至 

  • xImage
  •  

While迴圈

在某些條件為真的情況下,執行程式碼。
範例1:
若輸入錯誤,便一直執行迴圈,直到輸入正確為止。

name = ""
while name == "":
	name = input("請輸入名字:")
print(f"你好,{name}!") 

範例2:
輸入數字1-10,若超出範圍,則進入迴圈重新輸入

num = int(input("請輸入數字1-10:"))
while num < 1 or num > 10:
	print("輸入無效,請重新輸入")
	num = int(input("請輸入數字1-10:"))
print(f"你輸入的數字是{num}")

接下來,我們可運用練習來更熟悉while迴圈的用法。

練習:複利計算機
(總金額=本金x(1+(利率/100)) xx時間)

amount = 0
while amount <= 0:
	if amount <= 0:
		print("本金需大於零,請重新輸入")
	amount = float(input("請輸入本金金額:"))

rate = 0
while rate <= 0:
	if rate <= 0:
		print("利率需大於零,請重新輸入")
	rate = float(input("請輸入利率:"))

time = 0
while time <= 0:
	if time <= 0:
		print("年限需大於零,請重新輸入")
	time = float(input("請輸入年限:"))

print("金額:", amount)
print("利率:", rate)
print("年限:", time)

total = amount * (1 + (rate / 100)) ** time
print("總金額:", total)

for 迴圈

使一段程式碼執行固定次數(需設可迭代的範圍)。
範例1:

for x in range(1, 11): #此範圍包含1,但不包含11
	print(x)

此運行結果為1 2 3 … 10。

範例2:倒計時

for x in reversed(range(1, 11)): #reversed為倒數方法
	print(x)
print("time out!")

此運行結果為10 9 8 … 1。

範例3:字串迭代

num = 1234-5678-9012
for x in num:
	if x == '2':
		continue #繼續執行迴圈
	elif x == '4':
		break #停止運行迴圈
	else:
		print(x)

此運行結果為1 3。

範例4:字典
(鍵key : 值value)

dict = {"a" : 1, "b" : 2, "c" :3}
for key, value in dict.items(): #items方法可迭代兩個變數
	print("key:", key)
	print("value:", value)

巢狀迴圈

指在一迴圈(外部迴圈)中,包含了另一個迴圈(內部迴圈)的程式碼。
範例1:

for y in range(5):
	for x in range(1, 10):
		print(x, end = " ") #end表示x後輸入的結尾符號(原預設為換行)
	print() #印出換行 

此運行結果為:
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9

範例2:

rows = int(input("請輸入行數:"))
cols = int(input("請輸入列數:"))
symbol = int(input("請輸入符號:"))

for x in range(rows):
	for y in range(cols):
		print(symbol, end = " ")
	print()

最後,讓我們運用先前所學到的技巧,進行實作練習吧!
練習:製作碼錶

import time
ourtime = int(input("請輸入秒數:"))

for x in range(ourtime, 0, -1): #-1指的是倒計時
	seconds = x % 60  #秒數為/60的餘數
	minutes = x // 60 % 60 #/的結果為浮點數,//則為整數
	print(f"{minutes : 02} : {seconds : 02}") #設定格式00:00
	time.sleep(1) #運行休息1秒
print("time out!")

上一篇
DAY5. Python中的邏輯運算符與字串方法
下一篇
DAY7. Python中的集合類型
系列文
python零之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言